/*
 * Funny Language - a free style programming language.
 * Copyright (C) 2015 by fanguangping (fanguangping@163.com)
 * character.h
 */

#ifndef FUNNY_SCHEME_CHARACTER_H
#define FUNNY_SCHEME_CHARACTER_H

#include "../ds/datastructure.h"

const char *CHAR_NAMES[32];

char* char2string(int c);

DEFINE_OPERATOR( char_to_integer );
DEFINE_OPERATOR( char_to_string  );
DEFINE_OPERATOR( char_to_charname);
DEFINE_OPERATOR( charap          );
DEFINE_OPERATOR( charnp          );
DEFINE_OPERATOR( charwp          );
DEFINE_OPERATOR( charup          );
DEFINE_OPERATOR( charlp          );
DEFINE_OPERATOR( char_upcase     );
DEFINE_OPERATOR( char_downcase   );
INIT_OPERATORS( character );

Cell* make_character(Scheme *sc, int c);

#endif //FUNNY_SCHEME_CHARACTER_H
